package tp.lista1;

/**
 *
 * @author Marcin
 */
public class Liczba {

    private static final int MAX_BASE = 16;
    private static final String pattern = "0123456789ABCDEF";
    private int n;
    private int base;

    public Liczba(int n, int base) {
        this.n = n;
        this.base = base;
        String wynik = konwersja(n,base);
        System.out.println("Liczba " + n + " w systemie " + base + "-owym wynosi " + wynik);
    }

    
    
    public static String konwersja(int n,int base) {
        String result = "";

        // sprawdzamy podstawę
        if ((base > MAX_BASE) || (base < 2)) {
            System.out.println("Zły format podstawy!");
            return null;
        }


        // jeśli liczba równa 0 zwracamy 0
        if (n == 0) {
            return "0";
        }

        // główny algorytm, dzielimy liczbę przez podstawę i zapisujemy resztę
        while (n > 0) {
            result = pattern.charAt(n % base) + result;
            n /= base; // n = n/base
        }

        return result;
    }

}
